#pragma once

#include "../umlmodel_global.h"

#include "Node.h"

namespace uml {

/// <summary>
/// ExecutionEnvironment
/// An execution environment is a node that offers an execution environment for
/// specific types of components that are deployed on it in the form of executable
/// artifacts.
/// </summary>
class UMLMODEL_EXPORT ExecutionEnvironment : public Node {

public: // Constructors and destructors
    explicit ExecutionEnvironment(const QString& umlType="uml::ExecutionEnvironment");

public: // JsonSerializable override
    void fromJson(const QJsonObject& json, QStringList& errorList) override;
    void toJson(QJsonObject& json) override;

};

} // namespace uml
